home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / languages / cleo.lzh / Cleo / doc / francais.doc < prev   
Encoding:
Text File  |  1993-01-24  |  6.8 KB  |  226 lines

  1.  
  2.  
  3.  
  4.  
  5.                         LE LANGAGE CLEO
  6.  
  7.  
  8.  
  9.  
  10.  
  11. Version:        1.00 (Dec 1992)
  12. Auteur :        DIALLO Barrou
  13.  
  14.  
  15. Introduction
  16.  
  17.     Ce langage est un projet à long terme qui doit deboucher sur un
  18. logiciel de traitement d'images assorti d'un logiciel de synthèse
  19. d'images (en phong et lancé de rayons).
  20.  
  21.     But de ce langage:
  22.  
  23.     Eh oui, encore un langage!
  24.         N'est-il pas agréable de pouvoir demander les mêmes choses a un
  25.     même programme sur des machines différentes? Entièrement écrit en
  26.     langage C Ansi, ce programme sera le plus portable possible (Il a
  27.     déjà été testé sur PC et sous UNIX (HP-UX).
  28.         Peut-etre verra-t-il un jour naitre une interface graphique sur
  29.     Amiga, chose déjà possible sous Unix avec Xlib (X11R4).
  30.  
  31.     Déroulement du projet:
  32.  
  33.     1. Création d'un langage portable basé sur des concepts algo-
  34.        rithmiques simples (comme le Pascal)
  35.     2. Agrémenter ce langage de fonctions spécifiques au traitement
  36.         d'images et à la synthèse d'image.
  37.  
  38.     Version 1.0:
  39.  
  40.         Les outils algorithmiques sont en place (boucles , variables...),
  41.     reste à implementer les fonctions liées aux images. L'interet de cette
  42.     version reste purement lié à la conception d'un langage évolué en C.
  43.  
  44.     Versions à venir:
  45.  
  46.         Les bibliothèques de synthèse et de traitement sont en cours de
  47.     développement.
  48.         Y seront inclus dans la partie Synthèse :la création, le rendu et
  49.     l'animation de scenes 3d, de paysages fractals, de plantes naturelles.
  50.         Dans le domaine du traitement d'images, nous y trouverons tous les
  51.     outils de base quant à l'amélioration, le réhaussement de constraste
  52.     des images en niveaux de gris et en couleurs, en passant par la
  53.     transformée de Fourier et la segmentation numérique.
  54.  
  55.     La prochaine version est prévue pour le mois de Mars 1993.
  56.  
  57.  
  58. Contenu de la disquette:
  59.  
  60.     cleo:/
  61.     Author                         (Nom et Adresse de l'auteur)
  62.     makefile                       (Regles de compilation sur Amiga)
  63.     /bin
  64.         cleo                        (Executable du compilateur)
  65.         inter                       (Executable de l'Interpréteur)
  66.     /etc
  67.        Cleo_exe_cfg                 (Fichier de Configuration Interpréteur)
  68.        Cleo_int_cfg                 (Fichier de Configuration compilateur)
  69.     /cleobin                        (Codes Executables de cleo)
  70.         cleo.out                    (Code Executable de cleo par défaut)
  71.     /include                        (Codes Include du compilateur)
  72.     /source                         (Codes Sources du compilateur)
  73.     /obj                            (Codes Objets.o des programmes)
  74.     /examples                       (Quelques exemples de démonstration)
  75.     /inter
  76.         makefile                        (Regles de compilation sur Amiga)
  77.         /include                        (Codes Include de l'interpréteur)
  78.         /source                         (Codes Sources de l'interpréteur)
  79.  
  80. Comment peut-on recompiler Cleo sur sa machine?
  81.  
  82.     1. Créer un répertoire du nom que vous voulez, 'rep' par exemple,
  83.  
  84.         1> Makedir chemin/rep
  85.  
  86.     2. Sous Shell, taper:
  87.  
  88.         1> Assign CLEO: chemin/rep
  89.  
  90.     3. Copier toute l'arborescence de Cleo dans 'rep':
  91.  
  92.         1> copy df0:cleo CLEO: all
  93.  
  94.     4. Indiquer à AmigaDos un chemin de recherche:
  95.  
  96.         1> path CLEO:bin add
  97.  
  98.     5. Editer les fichiers CLEO:makefile et CLEO:inter/makefile
  99.         Modifier le chemin d'accès derrière PROJET = ...
  100.  
  101.     6. Assurez-vous d'avoir bien installer votre compilateur C Aztec 5.01
  102.  
  103.     7. Taper pour compiler:
  104.  
  105.         1> cd CLEO:
  106.         1> make
  107.         1> cd inter
  108.         1> make
  109.         1> cd /
  110.  
  111.     Si tout c'est bien passé, la langage cleo est installé, et près à
  112.     l'emploi.
  113.  
  114.  
  115. Compilons et éxècutons un exemple:
  116.  
  117.     1> cleo examples/hello.cl
  118.     1> inter
  119.  
  120.         Ceci compile et execute le fameux 'Hello world'
  121.  
  122. Remarque:
  123.     la premiere commande a compilé le programme source examples/hello.cl,
  124.     elle a placé le code objet dans le tiroir CLEO:cleobin.
  125.     Puisque le nom de celui-ci n'a pas été spécifié par ' -o nom', il
  126.     s'appelle cleobis.out.
  127.     C'est ce dernier qu'ira chercher la commande 'inter' si aucun nom ne
  128.     lui est spécifié dans la ligne de commande.
  129.  
  130.     ex:
  131.  
  132.         1> cleo examples/trigo.cl -oTrigo.exe
  133.         1> inter Trigo.exe
  134.  
  135.         Ceci compile examples/trigo.cl en un fichier nommé Trigo.exe et
  136.         l'exécute.
  137.  
  138. Apercu du Langage:
  139.  
  140. Les Types:
  141.         La place des types de Cleo dépends complètement de la machine
  142.         sur laquelle il a été compilé et du compilateur utilisé.
  143.  
  144.         1. LONGREAL                     ( = double en langage C )
  145.         2. REAL                         ( = float en langage C )
  146.         3. LONGINT                      ( = long int en langage C )
  147.         4. INTEGER                      ( = int en langage C )
  148.         5. CHAR                         ( = char en langage C )
  149.         6. STRING
  150.             ex:
  151.                  str : STRING;
  152.                  str2 : STRING;
  153.  
  154.                  str := 'Hello World!' ;
  155.  
  156.                  str2 : =str;
  157.                  writeln(str2);
  158.  
  159.         7. BOOLEAN                      ( = 1 octet non signé )
  160.         8. POINT2D                      ( = 2 floats en langage C)
  161.             ex:
  162.                 pnt    :   POINT3D;
  163.  
  164.                 pnt.x := 111;      pnt.y := 222;
  165.                 writeln( ' coords(x y) =' , pnt.x, '  ', pnt.y  );
  166.  
  167.         9. POINT3D                      ( = 3 floats en langage C)
  168.             ex:
  169.  
  170.                 pnt1, pnt2 : POINT3D;
  171.  
  172.                 pnt1.x := 111;      pnt1.y := 222;      pnt1.z := 333;
  173.                 pnt2 := pnt1;
  174.                 writeln(' y= ', pnt2.y);
  175.  
  176.         10. RGB                      ( = 3 unsigned char en langage C)
  177.             ex:
  178.                 col :  RGB;
  179.  
  180.                 col.r := 111;      col.g := 222;      col.b := 333;
  181.                 writeln(' red = ', col.r);
  182.  
  183.         11. ARRAY  ...   OF CHAR, OF INTEGER, OF REAL, OF BOOLEAN,
  184.                         OF POINT3D, OF POINT2D, OF RGB.
  185.  
  186.             Attention: les tableaux doivent dans cette version commencer
  187.             impérativement à 1.
  188.  
  189. Operateurs Mathématiques:
  190.  
  191.     +, -, /, * .
  192.     % , mod : modulo
  193.  
  194. Operateurs Logiques:
  195.  
  196.     And, Or, Xor.
  197.  
  198. Priorités des opérateurs:
  199.  
  200.     (Par Ordre décroissant)
  201.     * / AND MOD DIV
  202.     + - OR
  203.     < <= => > <>
  204.  
  205. Fonctions Mathématiques:
  206.  
  207.    abs , atan, acos, asin, cosh, sinh,
  208.    cos, sin, exp, ln, sqr,
  209.    sqrt, inv, rnd, tan, tanh,
  210.  
  211.  
  212. Autres fonctions:
  213.  
  214.     odd(x)      :   retourne 1 si x est Pair
  215.                         sinon retourne 0
  216.     even(x)     :   retourne 1 si x est Pair
  217.                         sinon retourne 0
  218.     pred(x)     :   retourne le prédecesseur de x dans l'ordre ordinal
  219.     succ(x)     :   retourne le successeur of x dans l'ordre ordinal
  220.     int(x)      :   retourne la partie entiere de x
  221.     frac(x)     :   retourne la partie decimale de x
  222.  
  223.  
  224.  
  225.  
  226.